<!doctype html>



  


<html class="theme-next mist use-motion">
<head>
  <meta charset="UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1"/>



<meta http-equiv="Cache-Control" content="no-transform" />
<meta http-equiv="Cache-Control" content="no-siteapp" />












  
  
  <link href="/vendors/fancybox/source/jquery.fancybox.css?v=2.1.5" rel="stylesheet" type="text/css" />




  
  
  
  

  
    
    
  

  

  

  

  

  
    
    
    <link href="//fonts.googleapis.com/css?family=Lato:300,300italic,400,400italic,700,700italic&subset=latin,latin-ext" rel="stylesheet" type="text/css">
  






<link href="/vendors/font-awesome/css/font-awesome.min.css?v=4.4.0" rel="stylesheet" type="text/css" />

<link href="/css/main.css?v=5.0.1" rel="stylesheet" type="text/css" />


  <meta name="keywords" content="Machine Learning," />








  <link rel="shortcut icon" type="image/x-icon" href="/favicon.ico?v=5.0.1" />






<meta name="description" content="说明：Machine Learning算法简介。">
<meta name="keywords" content="Machine Learning">
<meta property="og:type" content="article">
<meta property="og:title" content="Machine Learning Overview">
<meta property="og:url" content="http://bebetter.site/2017/01/14/AIMachineLearning/Machine Learning Overview/index.html">
<meta property="og:site_name" content="gatewayzy">
<meta property="og:description" content="说明：Machine Learning算法简介。">
<meta property="og:updated_time" content="2017-01-14T05:58:56.000Z">
<meta name="twitter:card" content="summary">
<meta name="twitter:title" content="Machine Learning Overview">
<meta name="twitter:description" content="说明：Machine Learning算法简介。">



<script type="text/javascript" id="hexo.configuration">
  var NexT = window.NexT || {};
  var CONFIG = {
    scheme: 'Mist',
    sidebar: {"position":"right","display":"always"},
    fancybox: true,
    motion: true,
    duoshuo: {
      userId: 0,
      author: '博主'
    }
  };
</script>




  <link rel="canonical" href="http://bebetter.site/2017/01/14/AIMachineLearning/Machine Learning Overview/"/>

  <title> Machine Learning Overview | gatewayzy </title>
</head>

<body itemscope itemtype="http://schema.org/WebPage" lang="zh-Hans">

  










  
  
    
  

  <div class="container one-collumn sidebar-position-right page-post-detail ">
    <div class="headband"></div>

    <header id="header" class="header" itemscope itemtype="http://schema.org/WPHeader">
      <div class="header-inner"><div class="site-meta ">
  

  <div class="custom-logo-site-title">
    <a href="/"  class="brand" rel="start">
      <span class="logo-line-before"><i></i></span>
      <span class="site-title">gatewayzy</span>
      <span class="logo-line-after"><i></i></span>
    </a>
  </div>
  <p class="site-subtitle">blog of gatewayzy</p>
</div>

<div class="site-nav-toggle">
  <button>
    <span class="btn-bar"></span>
    <span class="btn-bar"></span>
    <span class="btn-bar"></span>
  </button>
</div>

<nav class="site-nav">
  

  
    <ul id="menu" class="menu">
      
        
        <li class="menu-item menu-item-home">
          <a href="/" rel="section">
            
              <i class="menu-item-icon fa fa-fw fa-home"></i> <br />
            
            首页
          </a>
        </li>
      
        
        <li class="menu-item menu-item-categories">
          <a href="/categories" rel="section">
            
              <i class="menu-item-icon fa fa-fw fa-th"></i> <br />
            
            分类
          </a>
        </li>
      
        
        <li class="menu-item menu-item-about">
          <a href="/about" rel="section">
            
              <i class="menu-item-icon fa fa-fw fa-user"></i> <br />
            
            关于
          </a>
        </li>
      
        
        <li class="menu-item menu-item-archives">
          <a href="/archives" rel="section">
            
              <i class="menu-item-icon fa fa-fw fa-archive"></i> <br />
            
            归档
          </a>
        </li>
      
        
        <li class="menu-item menu-item-tags">
          <a href="/tags" rel="section">
            
              <i class="menu-item-icon fa fa-fw fa-tags"></i> <br />
            
            标签
          </a>
        </li>
      

      
    </ul>
  

  
</nav>

 </div>
    </header>

    <main id="main" class="main">
      <div class="main-inner">
        <div class="content-wrap">
          <div id="content" class="content">
            

  <div id="posts" class="posts-expand">
    

  
  

  
  
  

  <article class="post post-type-normal " itemscope itemtype="http://schema.org/Article">

    
      <header class="post-header">

        
        
          <h1 class="post-title" itemprop="name headline">
            
            
              
                Machine Learning Overview
              
            
          </h1>
        

        <div class="post-meta">
          <span class="post-time">
            <span class="post-meta-item-icon">
              <i class="fa fa-calendar-o"></i>
            </span>
            <span class="post-meta-item-text">发表于</span>
            <time itemprop="dateCreated" datetime="2017-01-14T13:58:13+08:00" content="2017-01-14">
              2017-01-14
            </time>
          </span>

          
            <span class="post-category" >
              &nbsp; | &nbsp;
              <span class="post-meta-item-icon">
                <i class="fa fa-folder-o"></i>
              </span>
              <span class="post-meta-item-text">分类于</span>
              
                <span itemprop="about" itemscope itemtype="https://schema.org/Thing">
                  <a href="/categories/AI-Machine-Learning/" itemprop="url" rel="index">
                    <span itemprop="name">AI Machine Learning</span>
                  </a>
                </span>

                
                

              
            </span>
          

          
            
          

          

          
          

          
        </div>
      </header>
    


    <div class="post-body" itemprop="articleBody">

      
      

      
        <p><strong>说明：</strong>Machine Learning算法简介。<br><a id="more"></a></p>
<hr>
<p>参考文章：</p>
<ul>
<li>推荐书籍：《统计学习方法》李航</li>
</ul>
<h2 id="机器学习综述"><a href="#机器学习综述" class="headerlink" title="机器学习综述"></a>机器学习综述</h2><hr>
<ul>
<li>参考文章<ul>
<li><a href="http://www.toutiao.com/i6349363835060617729/" target="_blank" rel="external">机器学习 综述</a></li>
<li><a href="http://blog.csdn.net/xxinliu/article/details/7408742" target="_blank" rel="external">机器学习10大经典算法</a></li>
<li><a href="http://www.360doc.com/content/13/0716/16/478627_300397623.shtml" target="_blank" rel="external">机器学习与数据挖掘中的十大经典算法</a></li>
<li><a href="http://www.ctocio.com/hotnews/15919.html" target="_blank" rel="external">机器学习常见算法分类汇总</a></li>
</ul>
</li>
</ul>
<h3 id="简介"><a href="#简介" class="headerlink" title="简介"></a>简介</h3><hr>
<ul>
<li><p>大多数机器学习的算法思想是通过一些样本数据来训练计算机的计算规则，再执行具体的任务。 机器学习在复杂问题中的应用越来越广泛。例如：</p>
<ol>
<li>信息安全：识别网络攻击模式；</li>
<li>图像分析：面部识别、指纹识别；</li>
<li>大数据和深度学习：市场营销；</li>
<li>物体识别和对象预测：多传感器数据融合、自动驾驶；</li>
<li>模式识别：分析代码漏洞……</li>
</ol>
</li>
<li><p>常见的算法有：CART、 C4.5、 SVM、 K-Means、 Apriori、 EM、PageRank、 AdaBoost、kNN、 NaiveBayes等等。</p>
</li>
<li><p>机器学习策略主要包括有监督学习（Supervised Learning）和无监督学习（Unsupervised Learning）。</p>
<ul>
<li>有监督学习中，训练集包含数据和期望输出，根据期望输出学习相关参数。</li>
<li>无监督学习中，训练集只有数据，而没有标签，训练得到稳定状态结束。</li>
</ul>
</li>
</ul>
<h3 id="有监督学习supervised-learning"><a href="#有监督学习supervised-learning" class="headerlink" title="有监督学习supervised learning"></a>有监督学习supervised learning</h3><hr>
<ul>
<li>有监督学习包括分类、回归等等。</li>
<li><p>分类算法（Classification Algorithms）包括逻辑回归（Logic Regression）、分类树（Classification Tree）、支持向量机（Suport Vector Machines，SVMs）、随机森林（Random Forests）、人工神经网络（Artificial Neural Network，ANNs）等。</p>
</li>
<li><p>回归算法（Regression Algorithms）包括线性回归（Linear Regression）、决策树（Decision Trees）、贝叶斯网络（Bayesian Networks）、模糊分类（Fuzzy Classification），以及ANNs。</p>
</li>
</ul>
<h3 id="无监督学习unsupervised-learning"><a href="#无监督学习unsupervised-learning" class="headerlink" title="无监督学习unsupervised learning"></a>无监督学习unsupervised learning</h3><hr>
<ul>
<li>无监督学习包括聚类、降维等等。</li>
<li><p>聚类算法（Clustering Algorithms），将数据按相关性的远近分为多个簇，最常见的如K-means 聚类，还有分层聚类（Hierarchical Clustering）、高斯混合模型（Gaussian Mixture Models）、遗传算法（Genetic Algorithms）、ANNs。</p>
</li>
<li><p>降维算法（Dimensionality Reduction Algorithms）是将原始多维数据映射为低维数据，用更少的数据量来描述原始数据的主要特征。降维算法如主成分分析（Principal Component Analysis，PCA）、张量还原（Tensor Reduction）、多维统计（Multidimensional Statistics）、随机投射（Random Projection）、ANNs。</p>
</li>
</ul>
<h3 id="算法分类"><a href="#算法分类" class="headerlink" title="算法分类"></a>算法分类</h3><hr>
<p>机器学习主要的算法分类如下。</p>
<table>
<thead>
<tr>
<th style="text-align:left">- machine learning</th>
<th style="text-align:left"></th>
<th style="text-align:right"></th>
<th style="text-align:right"></th>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align:left">– supervised learning</td>
<td style="text-align:left"></td>
<td style="text-align:right">– unsupervised learning</td>
<td style="text-align:right"></td>
</tr>
<tr>
<td style="text-align:left">— classification</td>
<td style="text-align:left">— regression</td>
<td style="text-align:right">— clustering</td>
<td style="text-align:right">— dimension reduction</td>
</tr>
<tr>
<td style="text-align:left">logic regression</td>
<td style="text-align:left">linear regression</td>
<td style="text-align:right">k-means clustering</td>
<td style="text-align:right">principal component analysis</td>
</tr>
<tr>
<td style="text-align:left">classification trees</td>
<td style="text-align:left">decision trees</td>
<td style="text-align:right">hierarchical clustering</td>
<td style="text-align:right">tensor decomposition</td>
</tr>
<tr>
<td style="text-align:left">support vector machines</td>
<td style="text-align:left">bayesian networks</td>
<td style="text-align:right">gaussian mixture models</td>
<td style="text-align:right">multidimensional statistics</td>
</tr>
<tr>
<td style="text-align:left">random forests</td>
<td style="text-align:left">fuzzy classification</td>
<td style="text-align:right">genetic algorithms</td>
<td style="text-align:right">random projection</td>
</tr>
<tr>
<td style="text-align:left">artificital neural networks</td>
<td style="text-align:left">artificial neural networks</td>
<td style="text-align:right">artifical neural networks</td>
<td style="text-align:right">artifical neural networks</td>
</tr>
</tbody>
</table>
<table>
<thead>
<tr>
<th style="text-align:left">- 机器学习</th>
<th style="text-align:left"></th>
<th style="text-align:right"></th>
<th style="text-align:right"></th>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align:left">– 监督学习</td>
<td style="text-align:left"></td>
<td style="text-align:right">– 无监督学习</td>
<td style="text-align:right"></td>
</tr>
<tr>
<td style="text-align:left">— 分类算法</td>
<td style="text-align:left">— 回归算法</td>
<td style="text-align:right">— 聚类算法</td>
<td style="text-align:right">— 降维算法</td>
</tr>
<tr>
<td style="text-align:left">逻辑回归</td>
<td style="text-align:left">线性回归</td>
<td style="text-align:right">k-means聚类</td>
<td style="text-align:right">PCA主成分分析</td>
</tr>
<tr>
<td style="text-align:left">分类树</td>
<td style="text-align:left">决策树</td>
<td style="text-align:right">层次聚类</td>
<td style="text-align:right">张量还原</td>
</tr>
<tr>
<td style="text-align:left">SVM支持向量机</td>
<td style="text-align:left">贝叶斯网络</td>
<td style="text-align:right">高斯混合模型</td>
<td style="text-align:right">多维统计</td>
</tr>
<tr>
<td style="text-align:left">随机森林</td>
<td style="text-align:left">模糊分类</td>
<td style="text-align:right">遗传算法</td>
<td style="text-align:right">随机投射</td>
</tr>
<tr>
<td style="text-align:left">神经网络</td>
<td style="text-align:left">神经网络</td>
<td style="text-align:right">神经网络</td>
<td style="text-align:right">神经网络</td>
</tr>
<tr>
<td style="text-align:left">……</td>
<td style="text-align:left">……</td>
<td style="text-align:right">……</td>
<td style="text-align:right">……</td>
</tr>
</tbody>
</table>
<hr>
<h3 id="强化学习-Reinforcement-Learning"><a href="#强化学习-Reinforcement-Learning" class="headerlink" title="强化学习 Reinforcement Learning"></a>强化学习 Reinforcement Learning</h3><h3 id="迁移学习-Transfer-Learning"><a href="#迁移学习-Transfer-Learning" class="headerlink" title="迁移学习 Transfer Learning"></a>迁移学习 Transfer Learning</h3><hr>
<ul>
<li>迁移学习：运用已有知识对不同领域但是相关领域进行求解。主要用于目标领域仅有少数标签样本数据甚至没有样本数据的学习问题。迁移好了没什么问题，迁移不好则会产生负作用。</li>
<li>迁移学习分类：<ul>
<li>同构空间下基于实例的迁移学习： 比如用户A，B的购买行为预测C的行为，这种迁移学习应用范围狭窄，仅能应用于样本数据与目标数据非常相似的情况下。常见的是boosting算法，建立自动调整权重的机制，使高度相关的权重增加，不重要的权重减小。</li>
<li>同构空间下基于特征的迁移学习： 比如男士喜欢看球，推断男士A喜欢看球，这种迁移学习主要是使用聚类算法对样本与目标数据进行聚类，找到相同的特征，实现样本到目标数据的迁移。常见的算法有CoCC算法、TPLSA算法、谱分析算法、自学习算法等。通过特征可以进行有监督迁移学习或者无监督迁移学习。</li>
<li>异构空间下的迁移学习（翻译学习）： 比如用文本知识进行图像分类，这种迁移学习的样本数据与目标数据属于不同的特征空间，通过找到二者之间的某种桥梁关系，从而构建一个翻译器，从而进行目标数据的学习。</li>
</ul>
</li>
</ul>
<hr>
<h2 id="模型评估"><a href="#模型评估" class="headerlink" title="模型评估"></a>模型评估</h2><ul>
<li>评判模型需要测试模型以下数据是否合理：偏差 bias，方差 variance，正确率 precision，查全率 recall</li>
<li>参考文章<ul>
<li><a href="http://www.toutiao.com/i6369826318221050369/" target="_blank" rel="external">你的机器学习模型为什么会出错？奉上四大原因解析及五条改进措施</a></li>
</ul>
</li>
</ul>
<h3 id="bias-variance-precision-recall"><a href="#bias-variance-precision-recall" class="headerlink" title="bias variance precision recall"></a>bias variance precision recall</h3><hr>
<ul>
<li><p>机器学习模型的设计目标是低偏差、低方差，高准确率、高查全率</p>
<ul>
<li>在偏差和方差中找到平衡，既能尽量准确，又要能够通用。</li>
<li>在正确率和查全率中找到平衡，既能尽量保证预测都是对的，又能尽可能多做出预测。</li>
</ul>
</li>
<li><p>高偏差 high bias：</p>
<ul>
<li>概念：高偏差指的是模型对某些样本点的输出与实际值相差较大。</li>
<li>原因：模型没训练好，连样本数据都无法准确预测。表现如欠拟合。</li>
<li>改进：增加训练数据。</li>
</ul>
</li>
<li><p>高方差 high variance：</p>
<ul>
<li>概念：高方差表示虽然模型对样本点输出符合预期，但是一旦应用到新的数据就会产生错误。</li>
<li>原因：模型有隐藏的问题，只能对样本数据有效，但是无法正确预测新数据。表现如过拟合。</li>
<li>改进：减少训练数据、增加测试数据。</li>
</ul>
</li>
<li><p>低正确率 low precision：</p>
<ul>
<li>正确率是指模型的所有正向判断（确定为‘是xx’）中，判断正确的比例。正确率反应了一个模型的预测准确度。</li>
<li>计算方法是针对一个正向判断： <code>模型判断正确的次数 / 模型所有判断次数</code> ，即 <code>True Positives / Predicted Positives</code> = <code>TP / (TP+FP)</code></li>
<li>改进：提高概率阈值（判断更为严苛）。</li>
</ul>
</li>
<li><p>低查全率 low recall：</p>
<ul>
<li>查全率是指正向判断中正确的次数，占实际正向结果的比例。查全率反应了一个模型的实际应用效果。</li>
<li>计算方法是针对一个正向判断： <code>模型判断正确的次数 / 实际正向数量</code> ，即 <code>True Positives / Actual Positives</code> = <code>TP / (TP+FN)</code></li>
<li>改进：降低概率阈值（判断更为宽松）。</li>
</ul>
</li>
<li><p>调和均值F1：</p>
<ul>
<li>2/F1 = 1/precision + 1/recall。F1值是precision和recall 的调和均值。</li>
<li>当准确率和召回率都比较高的时候，对应比较高的F1值。</li>
</ul>
</li>
<li><p>正确率与查全率关系举例：</p>
<ul>
<li>判断邮件是否为垃圾邮件：实际收到了12封邮件，其中9封是正常邮件，3封是垃圾邮件。一个模型一共做了2次正向判断，其中1次是正确的，10次反向判断，其中8次是正确的。那么其正确率就是1/2=50%，而查全率就是1/3=33%。</li>
</ul>
</li>
</ul>
<h3 id="Cross-Validation-交叉验证"><a href="#Cross-Validation-交叉验证" class="headerlink" title="Cross Validation 交叉验证"></a>Cross Validation 交叉验证</h3><hr>
<ul>
<li>检测模型是否具有高偏差或者高方差最直接的办法就是对数据进行交叉验证。</li>
<li>交叉验证总体思路是：拿出大部分的数据进行训练建模，留一小部分的数据作为测试样本，用刚刚建立的模型进行测试，并评估测试结果。持续进行交叉建模、测试，直到所有的样本数据都恰好被预测了一次为止（交叉思想）。</li>
<li>常见的交叉验证方法有很多，例如Holdout验证、k折交叉验证、留一验证等。<ul>
<li>Hold-Out Method：将原始数据随机分为两组,一组做为训练集,一组做为验证集,进行训练和测试，记录准确率。优点是简单，缺点是只对样本进行随机划分，并不算严格意义的交叉验证。</li>
<li>K-fold Cross Validation(k-CV)：将原始数据分成K组(一般是均分),每次将一个子集做测试集，其余子集作为训练集，得到K个模型，用这K个模型准确率综合评估(如取平均数）可以有效避免过拟合和欠拟合。</li>
<li>Leave-One-Out Cross Validation(LOO-CV)：每次将一个样本作为验证集，其余样本作为训练集，所以LOO-CV会得到N个模型，用这N个模型的准确率进行综合评估。相比于K-CV,LOO-CV既能保证结果可以被复制而不会受随机因素影响，又能保证每一回合中几乎所有样本都用于训练从而使得模型最接近原始分布。但是LOO-CV缺点在于计算成本过高。</li>
</ul>
</li>
</ul>
<h2 id="Dimensionality-Reduction-降维"><a href="#Dimensionality-Reduction-降维" class="headerlink" title="Dimensionality Reduction 降维"></a>Dimensionality Reduction 降维</h2><hr>
<ul>
<li>high-dimensional vectors 高维数据需要进行降维，方便计算和实现去噪。</li>
<li>常见降维方法有：Random Projection、PCA、SVD、LSI等</li>
<li>参考论文：<ul>
<li>Bingham, Ella, and Heikki Mannila. “Random projection in dimensionality reduction: applications to image and text data.” Proceedings of the seventh ACM SIGKDD international conference on Knowledge discovery and data mining. ACM, 2001.</li>
</ul>
</li>
</ul>
<h3 id="Random-Projection-随机映射"><a href="#Random-Projection-随机映射" class="headerlink" title="Random Projection 随机映射"></a>Random Projection 随机映射</h3><hr>
<ul>
<li>降维步骤：随机生成降维矩阵R，比如将3072维降为200维，则d=200，降维得到X(d,50000)=R(d,3072)X(3072,50000)</li>
<li>降维矩阵生成方法：<ul>
<li>高斯分布，或者简化为r(i,j)=sqrt(3)*(1/6概率的1，1/6概率的-1，2/3概率的0)，其中乘以sqrt(3)是为了保证每一列的模为1，维持元数据的强度。</li>
<li>随机生成rij，但是要保证每一列是单位长度。</li>
</ul>
</li>
</ul>
<h3 id="PCA-主成分分析-Principal-Components-Analysis"><a href="#PCA-主成分分析-Principal-Components-Analysis" class="headerlink" title="PCA 主成分分析 Principal Components Analysis"></a>PCA 主成分分析 Principal Components Analysis</h3><hr>
<ul>
<li>参考文章<ul>
<li><a href="http://www.cnblogs.com/zhangchaoyang/articles/2222048.html" target="_blank" rel="external">主成分分析PCA</a> </li>
<li><a href="http://www.cnblogs.com/jerrylead/archive/2011/04/18/2020209.html" target="_blank" rel="external">主成分分析（Principal components analysis）-最大方差解释</a></li>
</ul>
</li>
<li>简介<ul>
<li>PCA全称Principal Components Analysis(主主成分分析)，以前叫Principal factor analysis。可用于降维去噪。</li>
</ul>
</li>
<li>数学目标：<ul>
<li>一个正交化线性变换，把数据变换到一个新的坐标系统中，使得这一数据的任何投影的第一大方差在第一个坐标（称为第一主成分）上，第二大方差在第二个坐标（第二主成分）上，依次类推。</li>
</ul>
</li>
<li>基本方法<ul>
<li>实现PCA一般有两种方法：使用特征值分解和使用奇异值分解。原理就是用<code>Am∗nPm∗k=A˜m∗k</code>将n维特征映射到较低的k维，即：为了保持数据特征差异，<code>Pm*k</code>应该是正交坐标系，相乘后得到<code>Am*n</code>降维后的近似结果<code>A˜m∗k</code>。</li>
<li>方法1 特征值分解<ul>
<li>将A特征中心化。即每一维的数据都减去该维的均值得到B</li>
<li>计算B的协方差矩阵C</li>
<li>计算协方差矩阵C的特征值和特征向量</li>
<li>选取大的特征值对应的特征向量构成矩阵M，得到新的数据集A*M</li>
</ul>
</li>
<li>方法2 基于SVD<ul>
<li>SVD求解，得到<code>A=U*S*V^T</code></li>
<li>选取S中比重高的k行作为降维矩阵Sk，将A进行降维结果为 <code>Uk*Sk</code></li>
</ul>
</li>
</ul>
</li>
</ul>
<h3 id="SVD-奇异值分解-Singular-Value-Decomposition"><a href="#SVD-奇异值分解-Singular-Value-Decomposition" class="headerlink" title="SVD 奇异值分解 Singular Value Decomposition"></a>SVD 奇异值分解 Singular Value Decomposition</h3><hr>
<ul>
<li>参考文章<ul>
<li><a href="http://blog.selfup.cn/1243.html" target="_blank" rel="external">SVD与PCA</a></li>
</ul>
</li>
<li>简介<ul>
<li>SVD全称singular value decomposition（奇异值分解），用于矩阵降维。</li>
</ul>
</li>
<li>使用方法<ul>
<li>将高维数据进行SVD求解，得到<code>A=U*S*V^T</code>，其中U是左奇异向量，S是奇异值矩阵，V是右奇异向量，T表示矩阵转置。</li>
</ul>
</li>
<li>SVD在PCA中的应用<ul>
<li>降维：选取S中比重高的k行作为降维矩阵Sk，将A进行降维得到结果为 <code>Uk*Sk</code>，其含义就是去除那些不太重要的维度。</li>
<li>按行压缩：舍去部分训练样本结果为 <code>Sk*Vk^T</code>，其含义就是去除那些十分相近的数据。</li>
</ul>
</li>
</ul>
<h2 id="LDA-线性判别分析-Linear-Discriminant-Analysis"><a href="#LDA-线性判别分析-Linear-Discriminant-Analysis" class="headerlink" title="LDA 线性判别分析 Linear Discriminant Analysis"></a>LDA 线性判别分析 Linear Discriminant Analysis</h2><hr>
<ul>
<li><p>参考文章</p>
<ul>
<li><a href="http://www.cnblogs.com/LeftNotEasy/archive/2011/01/08/lda-and-pca-machine-learning.html" target="_blank" rel="external">机器学习中的数学(4)-线性判别分析（LDA）, 主成分分析(PCA)</a></li>
</ul>
</li>
<li><p>简介</p>
<ul>
<li>LDA全称Linear Discriminant Analysis（线性判别分析），属于线性学习分类算法，属于supervised learning。</li>
</ul>
</li>
<li>数学目标<ul>
<li>求解线性函数 <code>Y=AX+B</code> 的系数矩阵A，其中A是系数矩阵，X是样本数据各维度值构成的矩阵，B是常数，Y是X经过LDA投影后的数据结果。</li>
</ul>
</li>
<li>求解目标<ul>
<li>对于样本分类数据经过线性函数投影后的结果，使得同一分类的结果尽可能集中&amp;&amp;不同类别之间结果距离尽可能大。</li>
</ul>
</li>
<li>基本方法<ul>
<li>将数据打上分类标签，求解系数矩阵使得同类之间距离差小，类别之间距离差大。比如使用最小二乘法求解系数矩阵。</li>
</ul>
</li>
</ul>
<h2 id="k-Means-k均值聚类算法"><a href="#k-Means-k均值聚类算法" class="headerlink" title="k-Means k均值聚类算法"></a>k-Means k均值聚类算法</h2><hr>
<ul>
<li>参考文章<ul>
<li><a href="https://my.oschina.net/mazhiyuan/blog/141090" target="_blank" rel="external">K Means Clustering Java Code</a></li>
<li><a href="http://www.dataonfocus.com/k-means-clustering-java-code/" target="_blank" rel="external">数据挖掘-聚类-K-means算法Java实现</a></li>
</ul>
</li>
</ul>
<h3 id="算法流程"><a href="#算法流程" class="headerlink" title="算法流程"></a>算法流程</h3><hr>
<ul>
<li>初始化：选择K个点作为初始质心<ul>
<li>这一步首先要知道K的值，也就是说K是手动设置的，而不是像EM算法那样自动聚类成n个簇。</li>
<li>其次，如何选择初始质心。最简单的方式无异于，随机选取质心了，然后多次运行，取效果最好的那个结果。这个方法，简单但不见得有效，有很大的可能是得到局部最优。另一种复杂的方式是，随机选取一个质心，然后计算离这个质心最远的样本点，对于每个后继质心都选取已经选取过的质心的最远点。使用这种方式，可以确保质心是随机的，并且是散开的。</li>
</ul>
</li>
<li>repeat<ul>
<li>将每个点指派到最近的质心，形成K个簇</li>
<li>重新计算每个簇的质心</li>
</ul>
</li>
<li>until 质心不在变化 </li>
</ul>
<h3 id="优化"><a href="#优化" class="headerlink" title="优化"></a>优化</h3><hr>
<ul>
<li>聚类使用的距离衡量<ul>
<li>聚类需要将最近的数据指派到一起，如何定义“最近”的概念，对于不同的数据，适用不同的邻近性度量。比如，对于欧式空间中的点可以使用欧式空间，对于文档可以用余弦相似性。</li>
</ul>
</li>
<li>离群点的处理：<ul>
<li>离群点可能过度影响簇的发现，导致簇的最终发布会与我们的预想有较大出入，所以提前发现并剔除离群点是有必要的。比如利用方差来剔除离群点。</li>
</ul>
</li>
<li>簇数优化<ul>
<li>使用较大的K，往往会使得聚类的结果看上去更加合理，但很多情况下，我们并不想增加簇的个数。这时可以交替采用簇分裂和簇合并。这种方式可以避开局部极小，并且能够得到具有期望个数簇的结果。</li>
</ul>
</li>
</ul>
<h2 id="关联规则"><a href="#关联规则" class="headerlink" title="关联规则"></a>关联规则</h2><hr>
<h3 id="TF-IDF-词频与逆词频"><a href="#TF-IDF-词频与逆词频" class="headerlink" title="TF-IDF 词频与逆词频"></a>TF-IDF 词频与逆词频</h3><hr>
<ul>
<li>标注的基于词的信息检索方法。</li>
<li>TF(Term Frequency)词频 = 特定单词在文件中出现的频率，常常使用归一化的值，即 <code>词语出现次数/文本单词数目</code>，以避免长文本的影响。</li>
<li>IDF(Inverse Document Frequency)逆向文件频率 = lg(总文件数/该词出现的文件数)。</li>
<li>TF*IDF 的值可以筛选出高频词和不常用的词。</li>
<li>tfidf并不一定比单纯的tf有效，有时候word count还是很有效的。</li>
<li>改进版本：TF-PDF、TF-IDuF等。</li>
</ul>
<h3 id="BM25"><a href="#BM25" class="headerlink" title="BM25"></a>BM25</h3><ul>
<li>标注的基于词的信息检索方法。</li>
<li>BM25用于计算文本相关度，Okapi是第一个实现BM25的系统。</li>
<li>BM25及其变种BM25F等都是出色的类TF-IDF的文本检索。</li>
</ul>
<h3 id="Support-Confidence"><a href="#Support-Confidence" class="headerlink" title="Support Confidence"></a>Support Confidence</h3><p>对于一条关联规则A-&gt;B，我们常用Support和Confidence来衡量它的重要性。关联规则的目标一般是产生支持度和置信度都较高的规则。</p>
<ul>
<li>支持度Support(A-&gt;B)=P(AB)，表示A和B同时出现在全域D中的概率。值越大说明二者相关性越大。</li>
<li>置信度Confidence(A-&gt;B)=P(B|A)，表示在A出现时，B也出现的概率。值越大说明A出现时B也很可能出现。</li>
</ul>
<p>与置信度相似的度量还有：</p>
<ul>
<li>Lift： <code>P(LR)/(P(L)P(R))</code> Lift=1时表示L和R独立。这个数越大，越表明L和R存在在一个购物篮中不是偶然现象。</li>
<li>Leverage：<code>P(LR)-P(L)P(R)</code> 它和Lift的含义差不多。Leverage=0时L和R独立，Leverage越大L和R的关系越密切。</li>
<li>Conviction：<code>P(L)P(!R)/P(L!R)</code> （!R表示R没有发生） Conviction也是用来衡量L和R的独立性。这个值越大关联度越高。</li>
<li>值得注意的是，用Lift和Leverage作标准时，L和R是对称的，Confidence和Conviction则不然。</li>
</ul>

      
    </div>

    <div>
      
        

      
    </div>

    <div>
      
        

      
    </div>

    <footer class="post-footer">
      
        <div class="post-tags">
          
            <a href="/tags/Machine-Learning/" rel="tag">#Machine Learning</a>
          
        </div>
      

      
        <div class="post-nav">
          <div class="post-nav-next post-nav-item">
            
              <a href="/2017/01/14/AIDeepLearning/DL Frames/" rel="next" title="Deep Learning Tools">
                <i class="fa fa-chevron-left"></i> Deep Learning Tools
              </a>
            
          </div>

          <div class="post-nav-prev post-nav-item">
            
              <a href="/2017/01/14/AIMachineLearning/Statistical Learning Method/" rel="prev" title="Statistical Learning Method">
                Statistical Learning Method <i class="fa fa-chevron-right"></i>
              </a>
            
          </div>
        </div>
      

      
      
    </footer>
  </article>



    <div class="post-spread">
      
    </div>
  </div>


          </div>
          


          
  <div class="comments" id="comments">
    


  </div>


        </div>
        
          
  
  <div class="sidebar-toggle">
    <div class="sidebar-toggle-line-wrap">
      <span class="sidebar-toggle-line sidebar-toggle-line-first"></span>
      <span class="sidebar-toggle-line sidebar-toggle-line-middle"></span>
      <span class="sidebar-toggle-line sidebar-toggle-line-last"></span>
    </div>
  </div>

  <aside id="sidebar" class="sidebar">
    <div class="sidebar-inner">

      

      
        <ul class="sidebar-nav motion-element">
          <li class="sidebar-nav-toc sidebar-nav-active" data-target="post-toc-wrap" >
            文章目录
          </li>
          <li class="sidebar-nav-overview" data-target="site-overview">
            站点概览
          </li>
        </ul>
      

      <section class="site-overview sidebar-panel ">
        <div class="site-author motion-element" itemprop="author" itemscope itemtype="http://schema.org/Person">
          <img class="site-author-image" itemprop="image"
               src="/statics/images/avatar.png"
               alt="gatewayzy" />
          <p class="site-author-name" itemprop="name">gatewayzy</p>
          <p class="site-description motion-element" itemprop="description">blog website with hexo and github pages</p>
        </div>
        <nav class="site-state motion-element">
          <div class="site-state-item site-state-posts">
            <a href="/archives">
              <span class="site-state-item-count">70</span>
              <span class="site-state-item-name">日志</span>
            </a>
          </div>

          
            <div class="site-state-item site-state-categories">
              <a href="/categories">
                <span class="site-state-item-count">10</span>
                <span class="site-state-item-name">分类</span>
              </a>
            </div>
          

          
            <div class="site-state-item site-state-tags">
              <a href="/tags">
                <span class="site-state-item-count">38</span>
                <span class="site-state-item-name">标签</span>
              </a>
            </div>
          

        </nav>

        

        <div class="links-of-author motion-element">
          
        </div>

        
        

        
        
          <div class="links-of-blogroll motion-element links-of-blogroll-inline">
            <div class="links-of-blogroll-title">
              <i class="fa  fa-fw fa-globe"></i>
              友情链接
            </div>
            <ul class="links-of-blogroll-list">
              
                <li class="links-of-blogroll-item">
                  <a href="https://github.com/gatewayzy" title="Github-gatewayzy" target="_blank">Github-gatewayzy</a>
                </li>
              
                <li class="links-of-blogroll-item">
                  <a href="http://google.com/" title="Goolge" target="_blank">Goolge</a>
                </li>
              
                <li class="links-of-blogroll-item">
                  <a href="http://wiki.jikexueyuan.com/" title="Wiki-jike" target="_blank">Wiki-jike</a>
                </li>
              
            </ul>
          </div>
        

      </section>

      
        <section class="post-toc-wrap motion-element sidebar-panel sidebar-panel-active">
          <div class="post-toc">
            
              
            
            
              <div class="post-toc-content"><ol class="nav"><li class="nav-item nav-level-2"><a class="nav-link" href="#机器学习综述"><span class="nav-number">1.</span> <span class="nav-text">机器学习综述</span></a><ol class="nav-child"><li class="nav-item nav-level-3"><a class="nav-link" href="#简介"><span class="nav-number">1.1.</span> <span class="nav-text">简介</span></a></li><li class="nav-item nav-level-3"><a class="nav-link" href="#有监督学习supervised-learning"><span class="nav-number">1.2.</span> <span class="nav-text">有监督学习supervised learning</span></a></li><li class="nav-item nav-level-3"><a class="nav-link" href="#无监督学习unsupervised-learning"><span class="nav-number">1.3.</span> <span class="nav-text">无监督学习unsupervised learning</span></a></li><li class="nav-item nav-level-3"><a class="nav-link" href="#算法分类"><span class="nav-number">1.4.</span> <span class="nav-text">算法分类</span></a></li><li class="nav-item nav-level-3"><a class="nav-link" href="#强化学习-Reinforcement-Learning"><span class="nav-number">1.5.</span> <span class="nav-text">强化学习 Reinforcement Learning</span></a></li><li class="nav-item nav-level-3"><a class="nav-link" href="#迁移学习-Transfer-Learning"><span class="nav-number">1.6.</span> <span class="nav-text">迁移学习 Transfer Learning</span></a></li></ol></li><li class="nav-item nav-level-2"><a class="nav-link" href="#模型评估"><span class="nav-number">2.</span> <span class="nav-text">模型评估</span></a><ol class="nav-child"><li class="nav-item nav-level-3"><a class="nav-link" href="#bias-variance-precision-recall"><span class="nav-number">2.1.</span> <span class="nav-text">bias variance precision recall</span></a></li><li class="nav-item nav-level-3"><a class="nav-link" href="#Cross-Validation-交叉验证"><span class="nav-number">2.2.</span> <span class="nav-text">Cross Validation 交叉验证</span></a></li></ol></li><li class="nav-item nav-level-2"><a class="nav-link" href="#Dimensionality-Reduction-降维"><span class="nav-number">3.</span> <span class="nav-text">Dimensionality Reduction 降维</span></a><ol class="nav-child"><li class="nav-item nav-level-3"><a class="nav-link" href="#Random-Projection-随机映射"><span class="nav-number">3.1.</span> <span class="nav-text">Random Projection 随机映射</span></a></li><li class="nav-item nav-level-3"><a class="nav-link" href="#PCA-主成分分析-Principal-Components-Analysis"><span class="nav-number">3.2.</span> <span class="nav-text">PCA 主成分分析 Principal Components Analysis</span></a></li><li class="nav-item nav-level-3"><a class="nav-link" href="#SVD-奇异值分解-Singular-Value-Decomposition"><span class="nav-number">3.3.</span> <span class="nav-text">SVD 奇异值分解 Singular Value Decomposition</span></a></li></ol></li><li class="nav-item nav-level-2"><a class="nav-link" href="#LDA-线性判别分析-Linear-Discriminant-Analysis"><span class="nav-number">4.</span> <span class="nav-text">LDA 线性判别分析 Linear Discriminant Analysis</span></a></li><li class="nav-item nav-level-2"><a class="nav-link" href="#k-Means-k均值聚类算法"><span class="nav-number">5.</span> <span class="nav-text">k-Means k均值聚类算法</span></a><ol class="nav-child"><li class="nav-item nav-level-3"><a class="nav-link" href="#算法流程"><span class="nav-number">5.1.</span> <span class="nav-text">算法流程</span></a></li><li class="nav-item nav-level-3"><a class="nav-link" href="#优化"><span class="nav-number">5.2.</span> <span class="nav-text">优化</span></a></li></ol></li><li class="nav-item nav-level-2"><a class="nav-link" href="#关联规则"><span class="nav-number">6.</span> <span class="nav-text">关联规则</span></a><ol class="nav-child"><li class="nav-item nav-level-3"><a class="nav-link" href="#TF-IDF-词频与逆词频"><span class="nav-number">6.1.</span> <span class="nav-text">TF-IDF 词频与逆词频</span></a></li><li class="nav-item nav-level-3"><a class="nav-link" href="#BM25"><span class="nav-number">6.2.</span> <span class="nav-text">BM25</span></a></li><li class="nav-item nav-level-3"><a class="nav-link" href="#Support-Confidence"><span class="nav-number">6.3.</span> <span class="nav-text">Support Confidence</span></a></li></ol></li></ol></div>
            
          </div>
        </section>
      

    </div>
  </aside>


        
      </div>
    </main>

    <footer id="footer" class="footer">
      <div class="footer-inner">
        <div class="copyright" >
  
  &copy; 
  <span itemprop="copyrightYear">2018</span>
  <span class="with-love">
    <i class="fa fa-heart"></i>
  </span>
  <span class="author" itemprop="copyrightHolder">gatewayzy</span>
</div>

<div class="powered-by">
  由 <a class="theme-link" href="https://hexo.io">Hexo</a> 强力驱动
</div>

<div class="theme-info">
  主题 -
  <a class="theme-link" href="https://github.com/iissnan/hexo-theme-next">
    NexT.Mist
  </a>
</div>

        

        
      </div>
    </footer>

    <div class="back-to-top">
      <i class="fa fa-arrow-up"></i>
    </div>
  </div>

  

<script type="text/javascript">
  if (Object.prototype.toString.call(window.Promise) !== '[object Function]') {
    window.Promise = null;
  }
</script>









  



  
  <script type="text/javascript" src="/vendors/jquery/index.js?v=2.1.3"></script>

  
  <script type="text/javascript" src="/vendors/fastclick/lib/fastclick.min.js?v=1.0.6"></script>

  
  <script type="text/javascript" src="/vendors/jquery_lazyload/jquery.lazyload.js?v=1.9.7"></script>

  
  <script type="text/javascript" src="/vendors/velocity/velocity.min.js?v=1.2.1"></script>

  
  <script type="text/javascript" src="/vendors/velocity/velocity.ui.min.js?v=1.2.1"></script>

  
  <script type="text/javascript" src="/vendors/fancybox/source/jquery.fancybox.pack.js?v=2.1.5"></script>


  


  <script type="text/javascript" src="/js/src/utils.js?v=5.0.1"></script>

  <script type="text/javascript" src="/js/src/motion.js?v=5.0.1"></script>



  
  

  
  <script type="text/javascript" src="/js/src/scrollspy.js?v=5.0.1"></script>
<script type="text/javascript" src="/js/src/post-details.js?v=5.0.1"></script>



  


  <script type="text/javascript" src="/js/src/bootstrap.js?v=5.0.1"></script>



  



  




  
  

  
  <script type="text/x-mathjax-config">
    MathJax.Hub.Config({
      tex2jax: {
        inlineMath: [ ['$','$'], ["\\(","\\)"]  ],
        processEscapes: true,
        skipTags: ['script', 'noscript', 'style', 'textarea', 'pre', 'code']
      }
    });
  </script>

  <script type="text/x-mathjax-config">
    MathJax.Hub.Queue(function() {
      var all = MathJax.Hub.getAllJax(), i;
      for (i=0; i < all.length; i += 1) {
        all[i].SourceElement().parentNode.className += ' has-jax';
      }
    });
  </script>
  <script type="text/javascript" src="//cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>



  

  
<script type="text/javascript" async src="//push.zhanzhang.baidu.com/push.js">
</script>


</body>
</html>
